package com.ruoyi.project.domain.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.project.domain.query.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class ProjectResult {

    //项目发起时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    //项目结束时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    //距今天
    private Integer days;

    //是否已归档
    private Boolean complete;

    //多少人参与绩效分配
    private Integer allocationPerson;

    //总成本
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "#0.00")
    private BigDecimal cost = BigDecimal.ZERO;

    //累计收款
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "#0.00")
    private BigDecimal receiveAmount = BigDecimal.ZERO;

    //毛利润
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "#0.00")
    private BigDecimal profit = BigDecimal.ZERO;

    /** 成本税费 */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "#0.00")
    private BigDecimal costFees = BigDecimal.ZERO;

    /** 差额税费 */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "#0.00")
    private BigDecimal differenceFees = BigDecimal.ZERO;

    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "#0.00")
    private BigDecimal taxAmount;


    /** 税前利润 */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "#0.00")
    private BigDecimal beforeProfit = BigDecimal.ZERO;

    /** 纯利润扣税金 */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "#0.00")
    private BigDecimal afterProfit = BigDecimal.ZERO;

    //报销费用
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "#0.00")
    private BigDecimal costOne = BigDecimal.ZERO;


    //项目基本信息
    Project project;

    //参与人信息
    List<ProjectParticipan> participanList ;

    //附件信息
    List<ProjectAttachment> fileList ;

    //付款信息
    List<ProjectPay> payList ;

    //实施日志信息
    List<ProjectImplement> implementList ;

    //核算信息
    List<ProjectAccounting> accountingList ;

    //质保信息
    List<ProjectWarranty> warrantyList ;

    //环节信息
    List<ProjectPhase> phaseList;








}
